`color(RED,LIGHTGRAY);─────────────────── Welcome to EnQue's UltraWin V2.10 ────────────────────────`color();
`tab(2);`color_default(LIGHTGRAY,BLUE);`color_keyword(YELLOW,BLUE);`color_first_char(LIGHTCYAN,BLUE);
															 `keyword(Introduction,/// Introduction);
													 `keyword(Ordering Information,/// Ordering Information);
														 `keyword(Version History,/// Version History);
																`keyword(Disclaimer,/// Disclaimer);
														`keyword(The UltraWin Library,/// The UltraWin Library );

 ┌──────────────────────────────────────────────────────────────────────────┐
 │                          `keyword(Structures/Globals,[uw_help1.hlp]/// Structures/Globals);                              │
 │           `keyword(Video Initialization,[uw_help1.hlp]/// Video Initialization);       `keyword(Window Basics,[uw_help1.hlp]/// Window Basics);                       │
 │           `keyword(Window I/O Routines,[uw_help2.hlp]/// Window I/O Routines);        `keyword(Cursor Routines,[uw_help2.hlp]/// Cursor Routines);                     │
 │           `keyword(Tab Stop Control,[uw_help2.hlp]/// Tab Stop Control);           `keyword(The Keyboard/Mouse,[uw_help3.hlp]/// The Keyboard/Mouse);                  │
 │           `keyword(The Window Manager,[uw_help3.hlp]/// The Window Manager);         `keyword(Rectangle Functions,[uw_help4.hlp]/// Rectangle Functions);                 │
 │           `keyword(Data Entry,[uw_help4.hlp]/// Data Entry);                 `keyword(Menuing,[uw_help4.hlp]/// Menuing);                             │
 │           `keyword(Font/EGA Control,[uw_help5.hlp]/// Font/EGA Control);           `keyword(Print Support,[uw_help6.hlp]/// Print Support);                       │
 │           `keyword(General Macros,[uw_help5.hlp]/// General Macros);             `keyword(Window Macros,[uw_help5.hlp]/// Window Macros);                       │
 │           `keyword(Timer/Sound Support,[uw_help6.hlp]/// Timer/Sound Support);        `keyword(Ctrl-C/Ctrl-Break Control,[uw_help6.hlp]/// Ctrl-C/Ctrl-Break Control);           │
 │           `keyword(Graphics Support,[uw_help5.hlp]/// Graphics Support);           `keyword(Note to Microsoft C Users,/// Note to Microsoft C Users);           │
 └──────────────────────────────────────────────────────────────────────────┘

`color(RED,LIGHTGRAY);───────────────────────── /// Introduction ───────────────────────────────────`color();
 
		Welcome to the UltraWin library, version 2.10 ( (C) 1990-92 ) from EnQue
	software!  With this release we at EnQue provide the PC programming world
	with an excellent tool for developing text based applications with
	impressive windowing capability.  The UltraWin library is written in 100%
	portable C, with the source compiling without modification for the PC's 4
	most popular C and C++ compilers.

    This help engine was written in C, utilizing only a few of the functions
	of the library. It was designed especially for the UltraWin documentation,
	allowing the user to be able to access information about each of the
	UltraWin functions with ease.  See the separate help documentation for
	more information about our hypertext help engine. The help system uses a
	number of separate help files, but you need not worry about this.  Simply
	page through the help, tab to the desired topic (Shift-tab reverses
	directions), and press <Enter>.  The help engine will take you to the
	proper location in the proper file.  The first letter of a keyword will
	also hilite that keyword.  Backspace will take you to the previous
	topic/file. When you wish to exit the help engine, simply press Alt-Q to
	Quit.  

		If you are a Borland C/Turbo C user, you can load our tiny TCKBD.COM
	TSR.  This 4k routine allows you to invoke our help engine from the
	Integrated Environment, searching for the function/keyword on which the
	cursor resides, in much the same way as Borland's help.  To do this, you
	must setup our help engine as a Transfer program.  See your Borland manual
	for details.  Include on the command line the $NOSWAP macro so that our
	help will overlay and restore the current window.  A typical command line
	from within the transfer editor for EGA/VGA 43/50 row mode for ENQHELP.EXE
	might look like this: "$NOSWAP UW_HELP0.HLP 1 0 2 2 77 40". The first
	numeric parameter is set to 1.  This tells the help engine to call our TSR
	to get the string at the current cursor location, and use that as the
	search string. The next is a user search string (just use 0 to tell the
	engine no command line search string), and the next four numeric
	parameters are the screen coordinates start x, start y, end x, and end y.
	These last four parameters are optional.  A window of the default size
	will be created if they are omitted.

	  You may also run the help engine directly from the command line,
	removing the $NOSWAP macro.  You need not load TCKBD.COM to do this.
	(TCKBD.COM merely allows the help engine to read the word that your cursor
	is currently pointing to - it does not ever have to be loaded, it merely
	adds functionality).

`color(RED,LIGHTGRAY);───────────────────────── /// Ordering Information ───────────────────────────`color();

		The ShareWare release of the UltraWin library includes the small model
	versions of the library for the Borland Turbo C compilers (both 2.0 and
	C++ 1.0), Microsoft C 5.0, this ENQHELP.EXE program and associated
	documentation, and a demo program that shows some of the unique features
	of the library.  The ShareWare package is released to the public, so feel
	free to distribute it to your friends, place it in your user's group
	library, or upload it to your favorite BBS!

		Many programs can be written to utilize the small model version.
	However,  some applications lend themselves only to the large model. To
	obtain the large model libraries and complete source code, please order
	directly from EnQue.

    The full UltraWin package with large model libraries and complete source
	code can be purchased without taking a second mortgage on your home.
	UltraWin 2.10 costs only $39.95.  This price includes complete printed
	documentation for both UltraWin and InTUItion, our textual user interface
	library.  In addition, you receive the latest version of our help engine
	and EGA/VGA font editor.  Also, the source comes with batch files that
	will build for you the large or small libraries for any of the four
	compilers, and are easily modified to build any library model. To fill out
	and print the order form, run the demo and fill in the appropriate
	information, and press <Shift-PrtSc>!  If you do not have a printer, just
	display the order form and copy down the information and mailing address.
	A simple check or money order will suffice, but please don't send cash, as
	if it gets lost or stolen in the mail we'll not be able to fill your
	order!

`color(RED,LIGHTGRAY);──────────────────────────── /// Version History ─────────────────────────────`color();

  10/12/90  --  Version 1.00
    The initial release of the UltraWin library.  The demo program, demo
		source, documentation and the small model of the library were released
		to the public.  The small model library was generated with Turbo C++.

  10/25/90 -- Version 1.10
    Users of TurboC 2.0 found errors when linking the small library for
		version 1.00.  It turned out that libraries generated with Turbo C++ are
		NOT compatible with the older TurboC 2.0.  Support was added for not
		only TurboC 2.0, but also Zortech C++ 1.5 and Microsoft C 5.0. The small
		libraries for all three compilers were released to the public along with
		documentation, demo program and demo source.

  11/11/90 -- Version 1.20
    Users of Turbo C++ 1.0 voiced requests to make UltraWin linkable using
		Turbo C++ with .CPP files.  The TurboC 2.0 and Turbo C++ library from
		version 1.10 would link fine with a C project, but not a C++ project.
		The source was recompiled and the small model for Turbo C++ that links
		in with other .CPP files was released.

  12/29/90 -- Version 1.21
    The menu_system() function's ability to allow the user to press a single
		key for the first letter of a menu item did not behave properly with key
		return values greater than 255.  This was due to a side affect with
		calling the toupper() macro with an integer value.  The toupper() macro
		call was replaced with a function that behaves as expected.

  09/08/91 -- Version 2.00
    Version 2.00 adds many additional capabilities including background
		printing support, EGA/VGA downloadable fonts with font editor,
		context-sensitive help, enhanced data entry, clock interrupt support and
		much more.  Zortech compiler support is unfortunately dropped due to a
		lack of compatibility.  Borland/Microsoft support remains.

    InTUItion 1.00, a textual user interface library and construction
		toolkit is also released, allowing programs using UltraWin to be written
		in record time.  The tools and small model libraries are available on
		EnQue's BBS.

  10/08/91 -- Version 2.01
    Version 2.01 solves several minor problems with V2.00 and forms the
		official commercial release. (Yes, the ShareWare package is the small
		model version of a commercial product).  The window structure has been
		changed to reduce memory requirements and allow for future enhancements.

  01/01/92 -- Version 2.10
    Version 2.10 enhances the data entry routines even further, giving you
		the ability to input both left-to-right and right-to-left, clear the
		input when the first non-keypad key is pressed, and even exit after the
		last character is typed, eliminating an <Enter> keypress.  These
		enhancements are supported by InTUItion 1.10, also released.  In
		addition, the wn_gets_ll function now has an additional "super hook"
		which allows you to modify the functionality of the input routine in
		virtually any way you wish with ease.

`color(RED,LIGHTGRAY);──────────────────────────── /// Disclaimer ──────────────────────────────────`color();

                       UltraWin by EnQue Software

    UltraWin is a user supported windowing library for the IBM PC. UltraWin
	is copyrighted material, however, you are free to copy and distribute the
	ShareWare version in its original archive file provided there is no
	charge.  You also are free to distribute any executables generated with
	the library.  The pricing information for UltraWin is provided in both
	this document and the UW_DEMO.EXE program.  Purchasing the commercial
	version is encouraged, as it provides you not only with large model
	libraries and complete source code, but also free technical support and
	software upgrades through the EnQue BBS.

    Though EnQue strives to provide the highest quality software products at
	the lowest possible price, we cannot accept responsibility for any damages
	that may be incurred by their use.

`color(RED,LIGHTGRAY);────────────────────── /// Note to Microsoft C Users ─────────────────────────`color();
    The UltraWin library is compatible with the Microsoft C compilers.
	However, the graphics support module, "UW_GRAPH.C" cannot be compiled as
	it is written in Borland's inline assembler format, mixed with C.  This
	presents no problems however as the provided object modules "UW_GRPHL.OBJ
	and UW_GRPHS.OBJ" for large/small model will link properly.  Due to
	compatibility problem between Borland and Microsoft, this module must be
	linked in with all programs.  If you are using the library, this module is
	already present.  In addition, Microsoft does not have an interrupt
	routine that allows access to the BP register.  This is required when
	using the extended EGA/VGA font routines.  Two object files, "INTRL.OBJ
	and INTRS.OBJ" for large/small model must be linked in as well.  These,
	too, are in the supplied library.  This should cause no problems as these
	routines should not be modified; the rest of the library compiles with no
	warnings or errors.  Batch files are included to rebuild the libraries.

`color(RED,LIGHTGRAY);──────────────────────── /// The UltraWin Library ────────────────────────────`color();

    The UltraWin library is one of the most, if not the most powerful text
	windowing library available for IBM PC and compatible computers. It was
	written specifically for systems that use text displays with many windows
	that overlap and update real-time in the background. An exhaustive array
	of output functions are available, with full color control, scrolling
	(both up and down) and masking capabilities. Also included are input
	functions for data entry such as strings, dates, prices, and even
	user-definable templates.  Background printing support, EGA/VGA font and
	palette control, timer control, and this hypertext help engine have been
	added since version 2.00.

  `keyword(General Macros,/// General Macros);       `keyword(Window Macros,/// Window Macros);       `keyword(Functions,/// Functions);

`co(10,1);/// General Macros`co(7,1);
`keyword(A) hibyte,[uw_help5.hlp]/// hibyte);
`keyword(B) lobyte,[uw_help5.hlp]/// lobyte);
`keyword(C) lower,[uw_help5.hlp]/// lower);
`keyword(D) range,[uw_help5.hlp]/// range);
`keyword(E) swap,[uw_help5.hlp]/// swap);
`keyword(F) upper,[uw_help5.hlp]/// upper);

`co(10,1);/// Window Macros`co(7,1);
`keyword(A) cls,[uw_help5.hlp]/// cls);
`keyword(B) mv_cs,[uw_help5.hlp]/// mv_cs);
`keyword(C) wn_att,[uw_help5.hlp]/// wn_att);
`keyword(D) wn_bdratt,[uw_help5.hlp]/// wn_bdratt);
`keyword(E) wn_bdr_color,[uw_help5.hlp]/// wn_bdr_color);
`keyword(F) wn_color,[uw_help5.hlp]/// wn_color);
`keyword(G) wn_name,[uw_help5.hlp]/// wn_name);
`keyword(H) wn_name_loc,[uw_help5.hlp]/// wn_name_loc);
`keyword(I) wn_read,[uw_help5.hlp]/// wn_read);
`keyword(J) wn_restore,[uw_help5.hlp]/// wn_restore);
`keyword(K) wn_rfsh,[uw_help5.hlp]/// wn_rfsh);
`keyword(L) wn_save,[uw_help5.hlp]/// wn_save);

`co(10,1);/// Functions`co(7,1);
`keyword(A) add_window,[uw_help3.hlp]/// add_window);
`keyword(B) blink_enable,[uw_help5.hlp]/// blink_enable);
`keyword(C) check_key,[uw_help3.hlp]/// check_key);
`keyword(D) clear_mask,[uw_help1.hlp]/// clear_mask);
`keyword(E) cr_inrect,[uw_help4.hlp]/// cr_inrect);
`keyword(F) cr_inwindow,[uw_help3.hlp]/// cr_inwindow);
`keyword(G) csr_hide,[uw_help2.hlp]/// csr_hide);
`keyword(H) csr_show,[uw_help2.hlp]/// csr_show);
`keyword(I) csr_style,[uw_help2.hlp]/// csr_style);
`keyword(J) decode_color,[uw_help5.hlp]/// decode_color);
`keyword(K) disp_print_stats,[uw_help6.hlp]/// disp_print_stats);
`keyword(L) do_menu,[uw_help4.hlp]/// do_menu);
`keyword(M) encode_color,[uw_help5.hlp]/// encode_color);
`keyword(N) end_clock,[uw_help6.hlp]/// end_clock);
`keyword(O) end_mouse,[uw_help3.hlp]/// end_mouse);
`keyword(P) end_printer,[uw_help6.hlp]/// end_printer);
`keyword(Q) end_video,[uw_help1.hlp]/// end_video);
`keyword(R) event_pending,[uw_help3.hlp]/// event_pending);
`keyword(S) force_video,[uw_help1.hlp]/// force_video);
`keyword(T) get_font_info,[uw_help5.hlp]/// get_font_info);
`keyword(U) get_key,[uw_help3.hlp]/// get_key);
`keyword(V) init_clock,[uw_help6.hlp]/// init_clock);
`keyword(W) init_mouse,[uw_help3.hlp]/// init_mouse);
`keyword(X) init_printer,[uw_help6.hlp]/// init_printer);
`keyword(Y) init_video,[uw_help1.hlp]/// init_video);
`keyword(Z) install_font,[uw_help5.hlp]/// install_font);
`keyword(A) item_add,[uw_help4.hlp]/// item_add);
`keyword(B) load_font,[uw_help5.hlp]/// load_font);
`keyword(C) make_top_window,[uw_help3.hlp]/// make_top_window);
`keyword(D) menu_create,[uw_help4.hlp]/// menu_create);
`keyword(E) menu_destroy,[uw_help4.hlp]/// menu_destroy);
`keyword(F) menu_restore,[uw_help4.hlp]/// menu_restore);
`keyword(G) menu_set,[uw_help4.hlp]/// menu_set);
`keyword(H) menu_system,[uw_help4.hlp]/// menu_system);
`keyword(I) move_wn_down,[uw_help3.hlp]/// move_wn_down);
`keyword(J) move_wn_left,[uw_help3.hlp]/// move_wn_left);
`keyword(K) move_wn_right,[uw_help3.hlp]/// move_wn_right);
`keyword(L) move_wn_up,[uw_help3.hlp]/// move_wn_up);
`keyword(M) mv_csr,[uw_help2.hlp]/// mv_csr);
`keyword(N) m_colrange,[uw_help3.hlp]/// m_colrange);
`keyword(O) m_hide,[uw_help3.hlp]/// m_hide);
`keyword(P) m_lpen_off,[uw_help3.hlp]/// m_lpen_off);
`keyword(Q) m_lpen_on,[uw_help3.hlp]/// m_lpen_on);
`keyword(R) m_motion,[uw_help3.hlp]/// m_motion);
`keyword(S) m_moveto,[uw_help3.hlp]/// m_moveto);
`keyword(T) m_pos,[uw_help3.hlp]/// m_pos);
`keyword(U) m_pressed,[uw_help3.hlp]/// m_pressed);
`keyword(V) m_ratio,[uw_help3.hlp]/// m_ratio);
`keyword(W) m_released,[uw_help3.hlp]/// m_released);
`keyword(X) m_reset,[uw_help3.hlp]/// m_reset);
`keyword(Y) m_rowrange,[uw_help3.hlp]/// m_rowrange);
`keyword(Z) m_show,[uw_help3.hlp]/// m_show);
`keyword(A) m_textcursor,[uw_help3.hlp]/// m_textcursor);
`keyword(B) offset_rect,[uw_help4.hlp]/// offset_rect);
`keyword(C) pl_csr,[uw_help2.hlp]/// pl_csr);
`keyword(D) print_char,[uw_help6.hlp]/// print_char);
`keyword(E) print_data,[uw_help6.hlp]/// print_data);
`keyword(F) print_eol,[uw_help6.hlp]/// print_eol);
`keyword(G) print_file,[uw_help6.hlp]/// print_file);
`keyword(H) print_in_bkgrnd,[uw_help6.hlp]/// print_in_bkgrnd);
`keyword(I) print_screen,[uw_help6.hlp]/// print_screen);
`keyword(J) print_str,[uw_help6.hlp]/// print_str);
`keyword(K) print_window,[uw_help6.hlp]/// print_window);
`keyword(L) rd_csr,[uw_help2.hlp]/// rd_csr);
`keyword(M) read_palette,[uw_help5.hlp]/// read_palette);
`keyword(N) read_palette_all,[uw_help5.hlp]/// read_palette_all);
`keyword(O) realloc_printer,[uw_help6.hlp]/// realloc_printer);
`keyword(P) rect_enclosed,[uw_help4.hlp]/// rect_enclosed);
`keyword(Q) rect_equal,[uw_help4.hlp]/// rect_equal);
`keyword(R) rect_overlap,[uw_help4.hlp]/// rect_overlap);
`keyword(S) refresh_column,[uw_help3.hlp]/// refresh_column);
`keyword(T) refresh_desktop,[uw_help3.hlp]/// refresh_desktop);
`keyword(U) refresh_rect,[uw_help3.hlp]/// refresh_rect);
`keyword(V) refresh_row,[uw_help3.hlp]/// refresh_row);
`keyword(W) reset_all_masks,[uw_help3.hlp]/// reset_all_masks);
`keyword(X) rom8x14,[uw_help5.hlp]/// rom8x14);
`keyword(Y) rom8x16,[uw_help5.hlp]/// rom8x16);
`keyword(Z) rom8x8,[uw_help5.hlp]/// rom8x8);
`keyword(A) save_font,[uw_help5.hlp]/// save_font);
`keyword(B) set_block_ab,[uw_help5.hlp]/// set_block_ab);
`keyword(C) set_idle_func,[uw_help3.hlp]/// set_idle_func);
`keyword(D) set_mask,[uw_help1.hlp]/// set_mask);
`keyword(E) set_prt_xlat,[uw_help6.hlp]/// set_prt_xlat);
`keyword(F) set_rect,[uw_help4.hlp]/// set_rect);
`keyword(G) set_vid_addr,[uw_help0.hlp]/// set_vid_addr);
`keyword(H) tone,[uw_help6.hlp]/// tone);
`keyword(I) wait_event,[uw_help3.hlp]/// wait_event);
`keyword(J) wait_ticks,[uw_help3.hlp]/// wait_ticks);
`keyword(K) wn_bksp,[uw_help2.hlp]/// wn_bksp);
`keyword(L) wn_border,[uw_help1.hlp]/// wn_border);
`keyword(M) wn_ch,[uw_help2.hlp]/// wn_ch);
`keyword(N) wn_claol,[uw_help2.hlp]/// wn_claol);
`keyword(O) wn_claos,[uw_help2.hlp]/// wn_claos);
`keyword(P) wn_clbol,[uw_help2.hlp]/// wn_clbol);
`keyword(Q) wn_clbos,[uw_help2.hlp]/// wn_clbos);
`keyword(R) wn_clear,[uw_help1.hlp]/// wn_clear);
`keyword(S) wn_clear_tabs,[uw_help2.hlp]/// wn_clear_tabs);
`keyword(T) wn_cleol,[uw_help2.hlp]/// wn_cleol);
`keyword(U) wn_cleos,[uw_help2.hlp]/// wn_cleos);
`keyword(V) wn_cln,[uw_help2.hlp]/// wn_cln);
`keyword(W) wn_co,[uw_help2.hlp]/// wn_co);
`keyword(X) wn_create,[uw_help1.hlp]/// wn_create);
`keyword(Y) wn_csr_dn,[uw_help2.hlp]/// wn_csr_dn);
`keyword(Z) wn_csr_left,[uw_help2.hlp]/// wn_csr_left);
`keyword(A) wn_csr_pos,[uw_help2.hlp]/// wn_csr_pos);
`keyword(B) wn_csr_right,[uw_help2.hlp]/// wn_csr_right);
`keyword(C) wn_csr_up,[uw_help2.hlp]/// wn_csr_up);
`keyword(D) wn_destroy,[uw_help1.hlp]/// wn_destroy);
`keyword(E) wn_gets,[uw_help4.hlp]/// wn_gets);
`keyword(F) wn_gets_ll,[uw_help4.hlp]/// wn_gets_ll);
`keyword(G) wn_hline,[uw_help2.hlp]/// wn_hline);
`keyword(H) wn_init_tabs,[uw_help2.hlp]/// wn_init_tabs);
`keyword(I) wn_ins_del_chars,[uw_help2.hlp]/// wn_ins_del_chars);
`keyword(J) wn_ins_del_lines,[uw_help2.hlp]/// wn_ins_del_lines);
`keyword(K) wn_move,[uw_help1.hlp]/// wn_move);
`keyword(L) wn_och,[uw_help2.hlp]/// wn_och);
`keyword(M) wn_plst,[uw_help2.hlp]/// wn_plst);
`keyword(N) wn_printf,[uw_help2.hlp]/// wn_printf);
`keyword(O) wn_qch,[uw_help2.hlp]/// wn_qch);
`keyword(P) wn_reset_tab,[uw_help2.hlp]/// wn_reset_tab);
`keyword(Q) wn_scroll_reg,[uw_help2.hlp]/// wn_scroll_reg);
`keyword(R) wn_set,[uw_help1.hlp]/// wn_set);
`keyword(S) wn_set_tab,[uw_help2.hlp]/// wn_set_tab);
`keyword(T) wn_st,[uw_help2.hlp]/// wn_st);
`keyword(U) wn_st_qty,[uw_help2.hlp]/// wn_st_qty);
`keyword(V) wn_tab_left,[uw_help2.hlp]/// wn_tab_left);
`keyword(W) wn_tab_right,[uw_help2.hlp]/// wn_tab_right);
`keyword(X) wn_vline,[uw_help2.hlp]/// wn_vline);
`keyword(Y) write_palette,[uw_help5.hlp]/// write_palette);
`keyword(Z) write_palette_all,[uw_help5.hlp]/// write_palette_all);
